Ordinary
About

MySQL Max Key Length

profileordilov / 2022. 2. 10

MySQL에서 unique 옵션이나 키로 설정한 값이 1000 바이트가 넘어간 경우 에러가 발생합니다.

Specified key was too long; max key length is 1000 bytes

흔히 발생하는 경우가 varchar(255)로 설정하는 경우 1020 바이트로 1000 바이트를 넘습니다. 이런 칼럼을 unique 옵션을 넣거나 하면 에러가 발생합니다. 이렇게 막는 이유 중 하나는 인덱스 때문입니다. 키나 유니크는 자동으로 인덱스 처리가 되는데 이때 길이가 너무 길게 되면 처리에 문제가 있습니다. 따라서 아무리 커도 varchar의 경우 인덱스 처리가 필요할 시 아무리 커도 250으로 설정해야 합니다.